In recent years, real-time video communications have increased in popularity due in no small part to advancements made in video compression technologies and the wide deployment of broadband networks. Such real-time video communications capabilities have, in turn, led to the increased availability of video services in many enterprise and customer support applications. One such application involves the recording of video of real-time transactions between computerized user devices, such as customer client devices (also referred to herein as the “client device(s)”) and customer service agent devices (also referred to herein as the “agent device(s)”). For example, such agent devices might be located in a call center of a customer service organization (e.g., insurance, banking). In such an application, it is often desirable to record an entire real-time video transaction, tracking the audio and video produced by both the client device and the agent device in a single video file. Such recording of an entire real-time video transaction between a client device and an agent device can serve as a valuable resource for a customer service organization, allowing the organization to review and evaluate the level or quality of customer experience, service quality assurance, liability protection, etc., as well as to capture an accurate record of a complete customer/agent interaction.
In a conventional video transaction recording system, compressed video bitstreams produced by computerized user devices (e.g., a client device, an agent device) are typically received and decoded to YUV video frames, and then provided to a video mixer, which mixes the decoded YUV video frames in different regions of the same video frame. The mixed video frames are then typically encoded, and a video file containing the encoded bitstream of the mixed video frames is recorded in a suitable video storage area. Such a conventional video transaction recording system has drawbacks, however, in that the need for further encoding of the mixed video data prior to storing the video file in the video storage area can result in an inefficient utilization of a system's computing resources.
It would therefore be desirable to have improved systems and methods of recording real-time video transactions between computerized user devices that make more efficient use of the systems' computing resources, without substantially degrading the video quality of the recorded real-time video transactions.